package com.ruoyi.blindBoxManage.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.springframework.data.annotation.Transient;

import java.math.BigDecimal;

/**
 * 盲盒商品对象 t_blind_product
 *
 * @author ruoyi
 * @date 2025-09-22
 */
@Data
public class BlindProduct extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 盲盒商品ID
     */
    private Long id;

    /**
     * 公共商品表ID
     */
    @Excel(name = "公共商品表ID")
    private Long publicProductId;

    private String publicProductName;
    /**
     * 分类ID
     */
    private Integer classId;
    @Excel(name = "分类")
    private String className;

    /**
     * 盲盒ID
     */
    private Long blindBoxId;
    @Excel(name = "盲盒")
    private String blindBoxName;

    /**
     * 商品等级ID
     */
    private Integer productTypeId;

    @Excel(name = "商品等级")
    private String productTypeName;

    /**
     * 商品类型
     */
    @Excel(name = "商品类型")
    private Integer productType;

    /**
     * 商品名称
     */
    @Excel(name = "商品名称")
    private String name;

    /**
     * 系列名称
     */
    @Excel(name = "系列名称")
    private String seriesName;

    /**
     * 商品图片
     */
    @Excel(name = "商品图片")
    private String picture;

    /**
     * 官方零售价
     */
    @Excel(name = "官方零售价")
    private BigDecimal price;

    /**
     * 总量
     */
    @Excel(name = "总量")
    private Integer totalCount;

    /**
     * 剩余数量
     */
    @Excel(name = "剩余数量")
    private Integer excessCount;

    /**
     * 商品状态
     */
    @Excel(name = "商品状态")
    private Integer status;

    /**
     * 商品概率
     */
    private BigDecimal probability;


    @Excel(name ="区间赏结果是否高亮显示（0=否）")
    private Integer highLight;


    /**
     * 区间赏中多少发可以出
     */
    @Excel(name = "区间赏中多少发可以出")
    private Integer drawCount;

    /**
     * 区间赏商品积分
     */
    @Excel(name = "区间赏商品积分")
    private BigDecimal points;

    /**
     * 是否可以分解成漫券
     */
    @Excel(name = "是否可以分解成漫券")
    private Integer isSplit;

    /**
     * 是否可以发货
     */
    @Excel(name = "是否可以发货")
    private Integer isDelivery;

    /**
     * 区间赏特殊商品是否已发
     */
    private Integer rewardGrant;

    /**
     * 分解漫券数量
     */
    @Excel(name = "分解漫券数量")
    private BigDecimal splitCount;

    /**
     * 运费
     */
    @Excel(name = "运费")
    private BigDecimal freight;
    @Transient
    @Excel(name = "sku数量")
    private Integer skuCount;

    /**
     * 排序
     */
    @Excel(name = "排序")
    private Integer sort;

    /**
     * 版本控制
     */
    private Integer version;

    /**
     * 逻辑删除（0=未删除，1=已删除）
     */
    private Integer isDelete;

}
